﻿#pragma once
namespace LK
{
	namespace Collection
	{

		/**@brief 表示一个集合接口*/
		struct ICollections :virtual LK::Object
		{
			IMETHODS(ptr<ICollections>, ICollections);
			/**@brief 获取元素数量*/
			virtual void clear() = 0;
			/**@brief 获取元素数量*/
			virtual index_t size()const = 0;
			static void AddTypeInfo();
		};


		/**@brief 表示一个指定元素类型的集合接口*/
		template<class T>struct ICollection :ICollections
		{
		};
	}
}